op {
  graph_op_name: "UnravelIndex"
  in_arg {
    name: "indices"
    description: <<END
An 0-D or 1-D `int` Tensor whose elements are indices into the
flattened version of an array of dimensions dims.
END
  }
  in_arg {
    name: "dims"
    description: <<END
An 1-D `int` Tensor. The shape of the array to use for unraveling
indices.
END
  }
  out_arg {
    name: "output"
    description: <<END
An 2-D (or 1-D if indices is 0-D) tensor where each row has the
same shape as the indices array.
END
  }
  summary: "Converts an array of flat indices into a tuple of coordinate arrays."
  description: <<END

Example:

```
y = tf.unravel_index(indices=[2, 5, 7], dims=[3, 3])
# 'dims' represent a hypothetical (3, 3) tensor of indices:
# [[0, 1, *2*],
#  [3, 4, *5*],
#  [6, *7*, 8]]
# For each entry from 'indices', this operation returns
# its coordinates (marked with '*'), such as
# 2 ==> (0, 2)
# 5 ==> (1, 2)
# 7 ==> (2, 1)
y ==> [[0, 1, 2], [2, 2, 1]]
```

@compatibility(numpy)
Equivalent to np.unravel_index
@end_compatibility
END
}
